package com.ruicar.afs.cloud.afscase.cargpsmanage.service;

import com.ruicar.afs.cloud.afscase.cargpsmanage.vo.GpsOrderInfoVO;
import com.ruicar.afs.cloud.afscase.loanapprove.condition.LoanApproveCondition;

import java.util.List;

/**
 * @author: yk.Li
 * @date 2020-07-22 12:32:06
 * @description service类
 */
public interface GpsManageService{

    /**
     * @description gps自动审核
     * @author yk.Li
     * @date 2020/8/5
     */
    void gpsAutoAudit();

    /**
     * @Description 更新GPS审核状态
     * @Author yk.Li
     * @Date 2020/08/07
     */
    void updateStatus(String contractNo, String workflowStatus ,Long carId);

    /**
     * @Description gps二次派单提交
     * @Author yk.Li
     * @Date 2020/08/10
     */
    void gpsSecondAssignmentSubmit(LoanApproveCondition condition);

    /**
     * @param condition
     * @Description GPS审核流程提交
     * @Author yk.Li
     * @Date 2020/08/07
     */
    void gpsManageSubmit(LoanApproveCondition condition,String gpsStatusEnum);

    /**
     * @param condition
     * @Description GPS流程退回合作商
     * @Author yk.Li
     * @Date 2020/08/07
     */
    void backPartnersSubmit(LoanApproveCondition condition);

    /**
     * @Description GPS通过规则
     * @Author yk.Li
     * @Date 2020/08/07
     */
    Boolean gpsPassRules(String contractNo);

    /**
     * @Description 更新GPS设备信息
     * @Author yk.Li
     * @Date 2020/08/08
     */
    List<GpsOrderInfoVO> updateDeviceInfo(String contractNo);

    /**
     * @Description 查询GPS设备详情   更新
     * @Author yk.Li
     * @Date 2020/08/08
     */
    Boolean getAllOrderInfoByAppCode(String contractNo);

    /**
     * @Description GPS发起工作流
     * @Author yk.Li
     * @Date 2020/08/15
     */
    void startGpsWorkflow(String contractNo);
}
